#ifndef _HD_DEC_CHIP_SPI_
#define _HD_DEC_CHIP_SPI_

#include "hc32_ddl.h"

//SPI-Slave单次传输的数据由四部分组成：命令字节（Command）、地址字节（Address）、数据（Data）
//和CRC校验结果字节（CRC）。其中，命令和地址字节的长度固定1-byte，CRC长度为2-byte（采用CRC-16）
bool write_dec_chip_reg(char command, char addr, char *pVal, int len);
bool read_dec_chip_reg(char command, char addr, char *pVal, int len);

typedef enum _E_CHIP_STAGE{
    E_CHIP_START_UP,
    E_CHIP_WORK
}E_CHIP_STAGE;

//SPI初始化接口：初始SPI控制器相关，不包括DMA相关初始化
//解码芯片分为启动和正常工作两个状态，两个状态下SPI的工作频率不一样，启动工作频率需要 < 10MHZ
void hd_spi_init(E_CHIP_STAGE eStage);
void hd_spi_uninit();

//SPI DMA RX TX初始化接口
void hd_spi_dma_init();

//设置DMA，以让SPI去读取解码芯片数据
void set_dma_read_spi(unsigned int *rxBuffer, unsigned short dataLen);


#endif